package com.ruoyi.drugSystem.mapper;


import com.ruoyi.drugSystem.domain.SysDrugClass;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * 药品种类信息 数据层
 *
 * @author ruoyi
 */
@Mapper
public interface SysDrugClassMapper
{
    /**
     * 查询药品种类数据集合
     *
     * @param drugClass 药品种类信息
     * @return 药品种类数据集合
     */
    public List<SysDrugClass> selectDrugClassList(SysDrugClass drugClass);

    /**
     * 查询所有药品种类
     *
     * @return 药品种类列表
     */
    public List<SysDrugClass> selectDrugClassAll();

    /**
     * 通过药品种类ID查询药品种类信息
     *
     * @param drugClassId 药品种类ID
     * @return 角色对象信息
     */
    public SysDrugClass selectDrugClassById(Long drugClassId);

    /**
     * 根据用户ID获取药品种类选择框列表
     *
     * @param userId 用户ID
     * @return 选中药品种类ID列表
     */
//    public List<Long> selectDrugClassListByUserId(Long userId);
//
//    /**
//     * 查询用户所属药品种类组
//     *
//     * @param userName 用户名
//     * @return 结果
//     */
//    public List<SysDrugClass> selectDrugClasssByUserName(String userName);

    /**
     * 删除药品种类信息
     *
     * @param drugClassId 药品种类ID
     * @return 结果
     */
    public int deleteDrugClassById(Long drugClassId);

    /**
     * 批量删除药品种类信息
     *
     * @param drugClassIds 需要删除的药品种类ID
     * @return 结果
     */
    public int deleteDrugClassByIds(Long[] drugClassIds);

    /**
     * 修改药品种类信息
     *
     * @param drugClass 药品种类信息
     * @return 结果
     */
    public int updateDrugClass(SysDrugClass drugClass);

    /**
     * 新增药品种类信息
     *
     * @param drugClass 药品种类信息
     * @return 结果
     */
    public int insertDrugClass(SysDrugClass drugClass);

    /**
     * 校验药品种类名称
     *
     * @param drugClassName 药品种类名称
     * @return 结果
     */
    public SysDrugClass checkDrugClassNameUnique(String drugClassName);

    /**
     * 校验药品种类编码
     *
     * @param drugClassCode 药品种类编码
     * @return 结果
     */
    public SysDrugClass checkDrugClassCodeUnique(String drugClassCode);
}
